package com.yidu.ladder.base.dao;

import java.util.List;
import java.util.Map;

import com.yidu.ladder.base.domain.Route;
import com.yidu.ladder.base.domain.RouteVo;
import com.yidu.ladder.base.domain.Subset;

/**
 * 线路数据访问接口类
 * 
 * @author yy
 * @since 2019-12-2
 *
 */
public interface RouteDao {

	/**
	 * 查询所有线路
	 * 
	 * @param routeVo 线路包装
	 * @return
	 */
	public List<RouteVo> queryRouteByCriteriaWithPage(RouteVo routeVo);

	/**
	 * 计算线路数量
	 * 
	 * @param routeVo 线路包装
	 * @return
	 */
	public int countRouteByCriteria(RouteVo routeVo);

	/**
	 * 添加线路
	 * 
	 * @param Route 线路
	 * @return
	 */
	public int addRoute(Route route);

	/**
	 * 修改线路
	 * 
	 * @param Route 线路
	 * @return
	 */
	public int updateRoute(Route route);

	/**
	 * 冻结或还原线路
	 * 
	 * @param map
	 * @return
	 */
	public int frozenOrRecoveRoute(Map<String, Object> map);

	/**
	 * 给下拉框赋值
	 * 
	 * @return
	 */
	public List<Subset> selectAllRoute();
}
